package guard.finder;

import guard.finder.utils.IntentIntegrator;
import guard.finder.utils.IntentResult;
import guard.finder.utils.conexionWS;
import guard.finder.utils.utils;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class GuardFinderActivity extends Activity {
	final utils util = new utils();
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        final EditText txtNombreUsuario = (EditText)findViewById(R.id.userName);
        final EditText txtClaveUsuario = (EditText)findViewById(R.id.userPass);
        final Button btnLogin = (Button)findViewById(R.id.btnLogin);
        final TextView txtViewNoRecordar = (TextView)findViewById(R.id.txtViewNoRecordar);
        final TextView txtUsarID = (TextView)findViewById(R.id.txtUsarID);
        //Evento OnClick boton del login.
        btnLogin.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				String nombre = txtNombreUsuario.getText().toString();
				String clave = txtClaveUsuario.getText().toString();
				if(!"".equals(nombre) && ! "".equals(clave)){
					//Aplicar MD5 a la clave.
					clave = util.aplicarMD5(clave);
					iniciarSesionNormal(nombre, clave);
					}
				else {
					util.mostrarMSG(GuardFinderActivity.this, "Hay espacios en blanco");
					}
			}
		});
        
        //EventonOnclick texto de iniciar con la identificacion.
        txtViewNoRecordar.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
        		iniciarSesionZxing();
			}
		});
        
        //EventonOnclick texto de iniciar con la identificacion.
        txtUsarID.setOnClickListener(new OnClickListener() {
        	@Override
			public void onClick(View v) {
        		iniciarSesionZxing();
			}
		});
    }
    
    /**
     * Iniciar sesion en la aplicacion.
     * @param usuario
     * @param clave
     */
    private void iniciarSesionNormal(String usuario, String clave){
    	conexionWS servicio = new conexionWS();
		//Verificar usuario en el WS, con MD5 de la clave. 
		String resultado = servicio.logInNormal(usuario, clave);
		if("true".compareTo(resultado)==0){
			Intent intent = new Intent(GuardFinderActivity.this, main.class);
			Bundle bundle = new Bundle();
			//Pasar como parametro el usuario.
	        bundle.putString("usuario", usuario);
	        intent.putExtras(bundle);
			startActivity(intent);
		}
		else{
			util.mostrarMSG(GuardFinderActivity.this, resultado);
			}
    }
    
    /**
     * Iniciar el intent de Zxing, para leer la identificacion.
     */
    private void iniciarSesionZxing(){
    	IntentIntegrator integrator = new IntentIntegrator(GuardFinderActivity.this);
    	integrator.initiateScan();
    }
    
    /**
     * Funcion para manejar el resultado obtenido de la aplicacion Zxing.
     */
    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    	  IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    	  if (scanResult != null) {
    		  Toast toast = Toast.makeText(GuardFinderActivity.this, "AKI "+scanResult.getContents(), Toast.LENGTH_SHORT);
    			toast.show();
    	  }
    	  // else continue with any other code you need in the method
    	}
}